/*
 * server.h
 *
 *  Created on: 28 nov. 2013
 *      Author: SAGUET Julien et POCREAU Aymeric
 */

#ifndef SERVER_H_
#define SERVER_H_

typedef struct client client_t;
typedef client_t* listeClients;
typedef struct blacklist *blackliste;
typedef struct bannis ban_t;

struct client {
	int socket; // socket du client sur le serveur
	char pseudo[20]; // pseudo du client
	int groupe; // id du groupe auquel il appartient éventuellement
	int status; // admin = 1 : admin, admin = 0, non.
	blackliste blacklist; //liste des gens blacklistés par le client
	struct sockaddr_in structure;
	client_t *next;
};

struct bannis {
	char pseudo[20];
	ban_t* next;
};

struct blacklist {
	client_t* client;
	struct blacklist* next;
};

typedef struct groupe groupe_t;
struct groupe {
	int id; // numero du groupe
	char name[20]; // nom du canal
	client_t* master; // maitre du canal
	blackliste blacklist; // blacklist du canal
	groupe_t* next;
};

#endif /* SERVER_H_ */
